package com.smartwebx.ha.dal.realtime.dao;

import java.util.Date;
import java.util.List;

import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.SelectProvider;

import com.smartwebx.ha.dal.realtime.sqlprovider.WaterProvider;
import com.smartwebx.ha.dal.usebean.GisWater;

/**
 * 水情综合信息Dao
 * @author zhangxi
 *
 */
//@CacheNamespace(size = 2048, readWrite = false)
public interface WaterMapper {
	
	/**
	 * 获取最新河道GIS信息
	 * 
	 * @param datePoint
	 * @return
	 */
	@SelectProvider(type = WaterProvider.class, method = "getLatestRiverGisInfoSQL")
	public List<GisWater> getLatestRiverGisInfoStcdFilter(
			@Param("datePoint") Date datePoint);

	/**
	 * 获取最新水库GIS信息
	 * 
	 * @param datePoint
	 * @return
	 */
	@SelectProvider(type = WaterProvider.class, method = "getLatestReservoirGisInfoSQL")
	public List<GisWater> getLatestReservoirGisInfoStcdFilter(
			@Param("datePoint") Date datePoint);

	/**
	 * 获取最新堰闸GIS信息
	 * 
	 * @param datePoint
	 * @return
	 */
	@SelectProvider(type = WaterProvider.class, method = "getLatestWeirGatesGisInfoSQL")
	public List<GisWater> getLatestWeirGatesGisInfoStcdFilter(
			@Param("datePoint") Date datePoint);

	/**
	 * 获取最新泵站GIS信息
	 * 
	 * @param datePoint
	 * @return
	 */
	@SelectProvider(type = WaterProvider.class, method = "getLatestPumpingStationGisInfoSQL")
	public List<GisWater> getLatestPumpingStationGisInfoStcdFilter(
			@Param("datePoint") Date datePoint);

	/**
	 * 获取最新潮位GIS信息
	 * 
	 * @param datePoint
	 * @return
	 */
	@SelectProvider(type = WaterProvider.class, method = "getLatestTideGisInfoSQL")
	public List<GisWater> getLatestTideGisInfoStcdFilter(
			@Param("datePoint") Date datePoint);
	@SelectProvider(type = WaterProvider.class, method = "getLatestWaterGisInfo")
	public List<GisWater> getLatestWaterGisInfoStcdFilter(
			@Param("datePoint") Date datePoint,@Param("md") Integer md);

}
